home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / MotifApp / Extras / SubMenus / CmdList.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  1.9 KB  |  56 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //////////////////////////////////////////////////////////////////////////////
  3. //         This example code is from the book:
  4. //
  5. //           Object-Oriented Programming with C++ and OSF/Motif
  6. //         by
  7. //           Douglas Young
  8. //           Prentice Hall, 1992
  9. //           ISBN 0-13-630252-1    
  10. //
  11. //         Copyright 1991 by Prentice Hall
  12. //         All Rights Reserved
  13. //
  14. //  Permission to use, copy, modify, and distribute this software for 
  15. //  any purpose except publication and without fee is hereby granted, provided 
  16. //  that the above copyright notice appear in all copies of the software.
  17. ///////////////////////////////////////////////////////////////////////////////
  18. //////////////////////////////////////////////////////////////////////////////
  19.  
  20.  
  21. ////////////////////////////////////////////////////////////
  22. // CmdList.h: Maintain a list of Cmd objects
  23. ////////////////////////////////////////////////////////////
  24.  
  25. ////////////////////////////////////////////////////////////
  26. // MODIFIED TO INHERIT FROM CMD - not described in Book
  27. ///////////////////////////////////////////////////////////
  28.  
  29.  
  30. #include "Cmd.h"
  31.  
  32. class CmdList : public Cmd {
  33.     
  34.   private:
  35.     
  36.     Cmd **_contents;    // The list of objects
  37.     int   _numElements; // Current size of list
  38.     virtual void doit();  
  39.     virtual void undoit();  
  40.  
  41.   public:
  42.  
  43.     CmdList();    
  44.     CmdList(char *);           // Construct an empty list
  45.     virtual ~CmdList();  // Destroys list, but not objects in list
  46.     
  47.     void add ( Cmd * );  // Add a single Cmd object to list
  48.     
  49.     Cmd **contents() { return _contents; } // Return the list
  50.     int size() { return _numElements; }    // Return list size
  51.     Cmd *operator[]( int );            // Return an element of the list
  52.     virtual const char *const className () { return "CmdList"; }
  53. };
  54.  
  55.  
  56.